6日目 シェルを活用するテクニック
ダブルクォーテーション「"」とシングルクォーテーション「'」では特殊文字の働きを打ち消す強さが異なる
「\」は直後の特殊文字の働きを打ち消す
コマンド履歴の一覧を表示するhistoryコマンド
Ctrl+Rキーでコマンド履歴からコマンドを検索する
特殊文字のエスケープ
シングルクォートとダブルクォートは特殊もじを打ち消す強さが違う
'の方が強力で"は$や`を打ち消さないので注意
code:エスケープ
✝ ~ echo 'shell $shell'
shell $shell
✝ ~ echo "shell $SHELL"
shell /bin/zsh
✝ ~ echo "today is date"
today is 2020年 3月 6日 金曜日 22時37分16秒 JST
✝ ~ echo 'today is date'
today is date
✝ ~ ls -l which bash
-r-xr-xr-x 1 root wheel 623344 1 23 22:59 /bin/bash
✝ ~
特殊文字の前に\をつける
$ mkdir My\ Dir →My Dirというディレクトリができる
ctr + z ジョブの一時停止→その後 bg とするとバックグラウンド処理に切り替えられる
コマンド名 & と打ったら最初からバックグラウンド処理
ジョブとプロセスの違い
ジョブ=実行中のシェルから見た処理の単位
jobsコマンドで確認できる
プロセス=システム内から見た実行中の各プログラムのこと
プロセスにはプロセスIDがふられている
psコマンドで確認できる
シェルスクリプト
code:for文
for 【変数】 in 【値のリスト】
do
【コマンド】
done
for文を使って一気にファイル名を変える
code:ファイル名
2014 2015 2016 blue green
do
mv $file $file.txt
done
2014.txt 2015.txt 2016.txt blue green
doの中身はいつものLinuxコマンドが使える
パターン照合演算子 $ {変数 % パターン}
シェルスクリプトの先頭に書く
#!【プログラムの絶対パス】
環境変数の設定
環境変数の設定にはexportコマンドを使う
export 変数名=値
設定済みの通常のシェル変数を環境変数にするには、export 変数名 とすればよい
取り出すときは、$変数名で取り出せる
bashの環境設定ファイル
~/.bash_profile もしくは ~/.bashrc
~/.bash_profile 環境変数などログイン時に設定したい環境を設定する
~/.bashrc エイリアスやオプションなどその他の環境を設定する